Enterprise Data Catalogでデータカタログを理解してみた
本エントリはクラスメソッド インフォマティカ Advent Calendar 2020 のエントリです。
クラスメソッド インフォマティカ Advent Calendar 2020 - Qiita
クラスメソッド インフォマティカ Advent Calendar 2020 | 特集カテゴリー | Developers.IO
データアナリティクス事業本部、kuwaです。アドベントカレンダー12日目です!
データカタログって、何?という方もいらっしゃるかと思います。
今回はインフォマティカ Enterprise Data Catalog(以下、EDC)を通して、データカタログを理解しましょう!
データカタログとは
データカタログはいろいろな表現で説明されています。
一般的には、”データの為のデータ”、”データの辞書”、”メタデータ”などのキーワードですが具体的に分かりにくいかもしれません。
「データ分析民主化」の問題点
「データ分析民主化」の問題の解決にデータカタログのシステムは貢献します。
データカタログのシステムが”どのような問題を解決してくれるのか”という点を確認しておくと、EDCへの理解も早いかと思います。
- ユーザーがデータ分析をする際に、以下のような内容は良く聞かれます。
- いつ作成されたデータなのか分からない。(When)
- データがどこにあるのか分からない。(Where)→ EDCで解決!
- どのシステムのデータか分からない。(Who)→ EDCで解決!
- このデータがどうして作成されたのか分からない(Why)→ EDCで解決!
- データが示す意味が分からない。(What)→ EDCで解決!
- データあるけどどのような経緯で発生したデータか分からない。(How) → EDCで解決!
- データ自体に問題があるわけではなく、先に記載した”データの為のデータ”が不足していることが分かります。
IICS(クラウドデータ統合)とEDC(データカタログ)のシステム構成例
- EDCの機能を確認する前に、構成例でEDCのシステム上動きを理解します。
- IICS:Informatica Intelligent Cloud ServicesとEDC:Enterprise Data Catalogの構成例です。
全体のイメージはデータウェアハウス、データマートとETLとデータカタログの構成の一例になります。
ポイントは、EDCが、「データウェアハウス、データマートへアクセスしていること」、「ETL処理の内容が格納されているIICSクラウドへアクセスしていること」です。
このアクセス経路で、EDCは各リソースを日次等でスキャンして、EDC側へカタログ情報として、蓄積することができます。
EDCが持つ「主な4つの機能」
- 先に記載した「データ分析民主化問題」について、どのようにEDCが解決していくのかを「主な4つの機能」を軸に確認します。
- 「スマートサーチ」で欲しいデータを検索
欲しいデータのキーワードを検索ボックスに入れるだけです! - 「プロファイリング」によるデータの傾向/ 特性把握
システムが自動的に収集して充実した情報にします。 - 「ビジネスグロッサリー」でビジネス定義の把握
ユーザーによる育成で充実した情報にします。 - 「リネージュ、リレーション」でデータの流れ、関連性を把握
システムが自動的に収集します。
では、実際の画面を触りながら機能を見ていきます。
※テスト環境のダミーデータで確認しています。
「1.スマートサーチ」
- EDCを起動して、一番最初に起動する画面です。 この画面から、確認したいキーワードを入力します。イメージはGoogle検索です。
- 検索結果はEDCが管理しているすべてのカタログ資産から検索されます。 例えば、テーブル名、項目名、ビジネス用語などが検索対象になっています。
-
”顧客”で検索したところ、以下のような検索結果が出力されました。 顧客というキーワードに関連したさまざまな情報が出力されていることが確認できます。
「2.プロファイリング」と「3.ビジネスグロッサリー」
- EDCのデータカタログをエンリッチにする(豊かにする)には以下の2つの方法があります。
- プロファイリング :システムが自動的に収集と評価
- ビジネスグロサリー :ユーザーによる育成と評価
- では具体的にそれぞれ、どのように表現されているのか確認します。
-
「1.スマートサーチ」で出力された結果から顧客テーブルをクリックします。 最初画面を確認していくと、顧客テーブルのカタログ情報が表示されますので各項目を確認します。
-
概要タブ
概要で、このテーブル全体について理解できます。- 説明(ユーザーが追加)
- テーブルに関する説明をユーザーにより任意に記入できます。
- サンプルカラム
- どのようなテーブルか分かるようにサンプルで項目を表現します。
- レビュー(ユーザーが追加)
- SNS機能があります。QAや、レビューを投稿して、このテーブルに対する理解を深めることができます。
- 説明(ユーザーが追加)
- カラムタブ
カラムで、このテーブル詳細について理解できます。- 名前
- 物理名が表現されます。
- ビジネスタイトル(ユーザーが追加)
- 別途、ビジネス用語集を管理するツールが提供されていますので、その内容をこの各テーブルのビジネスタイトル欄へ設定できます。 よりエンドユーザーが理解しやすい名称になります。
- 例えば、各システムで使用される「カスタマーID」、「顧客ID」、「お客様ID」のような名寄せもここで実施可能です。
- ビジネスタイトルが付与されていなければ、システム側で推測することも可能です。 基幹システムでは、あまり想定できませんが、アドホックなデータレイク環境等であれば、ビジネスタイトルの推測が有効かもしれません。
- NULL、Distinct(重複無し)、Non-Distinct(重複あり)%
- それぞれの割合が出力されて、データ構成の概要をとらえることができます。
- 「重複無しって教えてもらった項目なんだけど、NULLも重複もある、、、」みたいなことありますね。
- 名前
- 項目 概要タブ
特定のカラムをクリックして、ドリルダウンできます。 この項目を更に詳細に理解します。- 説明(ユーザーが追加)
- 項目に関する説明を任意に記入できます。
- 値の頻度
- 内容のばらつきを確認できます。
- この「値の頻度」でかなり項目の内容が確認できます。
- 類似項目
- 同じようなデータの項目があれば探してきてピックアップしてくれます。
- パターン
- 9(4)、X(4)という形で数値項目4桁、文字列項目4桁の分布ですよと表現しています。
- コード体系の確認、電話番号、郵便番号等で有効かと思われます。
- 説明(ユーザーが追加)
「4.リネージュ、リレーション」
- リネージュって”系統”という意味だそうです。リネージ書いてある場合もありますが、EDCではリネージュです。 「リネージュと影響」をクリックすると、以下のようにETLの流れが確認できます。
- 確認しているテーブルがどこから来ているのか、どこに出力されているのかを確認できます。
- 以下の例は元のシステムの各テーブルを結合して、出力し、それがCustomer Orderになっています。
- 項目レベルのリネージュも可能です。以下では別々になっていた姓名(LAST_NAME, FIRST_NAME)を結合して、1項目にしてREPORTへ出力していることが分かります。
まとめ
- 「データ分析の民主化問題」について、どのようにEDCで解決するのかと共に、データカタログの概念も理解できたように思います。
- 「システムで取得された情報」と「ユーザーで追加した任意の情報」がバランスよく1つのサービスから確認できるのはEDCの素晴らしいところです。
合わせて読みたい
https://video.informatica.com/detail/video/5785277809001
英語版であれば、インフォマティカ社のサイトにDemoがありますので、実際の動作もご確認下さい!